package com.yzkj.cpjxc.business.service;

import com.yzkj.cpjxc.business.domain.Dickm;
import com.yzkj.cpjxc.business.domain.DickmQueryVo;
import com.yzkj.cpjxc.business.domain.DickmShowVo;
import com.yzkj.cpjxc.business.framework.common.BusinessMap;
import com.yzkj.cpjxc.business.framework.common.Pager;
import com.yzkj.cpjxc.business.domain.ZhangTao;

import java.util.List;
import java.util.Map;

/**
 * 科目类别
 */
public interface DickmService {
	
	/**
	 * 获取查询分页对象
	 */
	public Pager<DickmShowVo> search(Pager<DickmShowVo> pager, Dickm dickm) throws Exception;
	
	/**
	 * 新增科目类别
	 */
	public BusinessMap create(Dickm dickm) throws Exception;
	
	/**
	 * 判断是否存在
	 */
	public boolean isExists(Dickm dickm) throws Exception;
	
	/**
	 * 根据ID获取科目类别
	 */
	public Dickm getById(String dickmId) throws Exception;
	
	/**
	 * 根据编码dicCode获取科目类别
	 */
	public Dickm getByDicCode(String dicCode) throws Exception;
	
	/**
	 * 编辑科目类别
	 */
	public BusinessMap edit(Dickm dickm) throws Exception;
	
	/**
	 * 根据ID删除科目类别
	 */
	public boolean delete(String dickmId) throws Exception;

	public Map<String, String> getDictionaryMap() throws Exception;

	public Map<String, String> getDictionaryMap2()throws Exception;

	public List<Dickm> getInitData() throws Exception;

	public List<Dickm> getDictionaryList(Dickm dickm) throws Exception;

	public Map<String, String> getParentDicCodeIsNullMap() throws Exception;

	public List<Dickm> getByParentDicCode(Dickm dickm) throws Exception;

	public boolean isHavaChilds(String dicCode) throws Exception;
	
	public List<Dickm> getDickmByLikeCodeOrName(String dicCodeOrName) throws Exception;

	public List<DickmShowVo> searchList(DickmQueryVo dickm) throws Exception;

	public BusinessMap createInitialFinancialbalance(List<DickmShowVo> pareList) throws Exception;

	public boolean deleteInitialFinancialbalance(String zangTaoId, String currKeMuFenLei) throws Exception;

	public DickmShowVo searchOne(DickmQueryVo vo) throws Exception;

	public List<DickmShowVo> searchTreeList(DickmQueryVo vo) throws Exception;

	public List<DickmShowVo> ajaxTreeList(DickmQueryVo dickm) throws Exception;

	public List<DickmShowVo> searchAllList(String leiBie) throws Exception;

	public BusinessMap setChuShiYuE(ZhangTao zt, String currKeMuFenLei, List<DickmShowVo> pareList) throws Exception;

	public BusinessMap setChuShiYuE2(ZhangTao zt, String currKeMuFenLei, List<DickmShowVo> pareList) throws Exception;
}
